/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ca.etsmtl.log660.facade;

import ca.etsmtl.log660.configuration.SessionFactoryHelper;
import ca.etsmtl.log660.entity.Utilisateur;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
/**
 *
 * @author iamthegD
 */
public class UtilisateurFacade {

    private static UtilisateurFacade instance = new UtilisateurFacade();
    
    private UtilisateurFacade(){

    }

    public List<Utilisateur> findUtilisateurs(){

        Session session = SessionFactoryHelper.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        List<Utilisateur> lesUtilisateurs;

       // lesUtilisateurs = session.createQuery("FROM Utilisateur").list();
         //session.createSQLQuery("select * from pays");
        lesUtilisateurs = session.createQuery(" FROM Utilisateur ").list();
        
        //session.getTransaction().commit();
        session.close();

        return lesUtilisateurs;
    }

    public Utilisateur findUtilisateurByCourriel(String courriel){

        Session session = SessionFactoryHelper.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        Utilisateur utilisateur = null;

       // lesUtilisateurs = session.createQuery("FROM Utilisateur").list();
         //session.createSQLQuery("select * from pays");
        
        Query query = session.createQuery(" FROM Utilisateur u where u.courriel = :courriel");
        query.setParameter("courriel", courriel);
        
        utilisateur = (Utilisateur) query.uniqueResult();
        //session.getTransaction().commit();
        session.close();

        return utilisateur;
    }

    public static UtilisateurFacade getInstance(){

        return instance;
    }
}
